package 二叉树相关问题.中度题;


import java.util.LinkedList;
import java.util.List;

public class 后继者 {
    List<TreeNode> list = new LinkedList<>();
    public TreeNode inorderSuccessor(TreeNode root, TreeNode p) {
        inOrder(root);
        int res=0;
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).val==p.val)
                res=i;
        }
        if (res+1<list.size())
            return list.get(res+1);
        else
            return null;
    }

    private void inOrder(TreeNode root) {
        if (root==null)
            return;
        inOrder(root.left);
        list.add(root);
        inOrder(root.right);
    }
}
